// js 的对象对标的是 python 的 dict
var obj = {
    // object
    "jay": "周杰伦",
    "alen": "艾伦"
}
console.log(obj);
console.log(obj['jay']);
console.log(obj['alen']);

// 上述逻辑是类似python的逻辑. 在js中同样适用的.
// 在js中 对象的key如果是字符串, 可以省略""
var item = {
    jay: "周杰伦",
    alen: "艾伦"
}
console.log("===>", item);
console.log(item.jay);
console.log(item.alen);
console.log(item['alen']);
// // 对象['属性'] <==> 对象.属性

var obj = {};
console.log("===>", obj);
obj.jav = "周杰伦";
obj.alen = "艾伦";
obj.alice = "爱丽丝";
console.log(obj);

// 1. 嵌套
var Person = {
    name: "Tom",
    age: 19,
    wife: {
        name: "杰瑞",
        age: 18,
        hobby: ["吃", "喝", "玩", "乐", "唱"]
    }
}
console.log("===>", Person);
console.log(Person["wife"].hobby[1]);

for (var i = 0; i < Person.wife.hobby.length; i++) {
    console.log(Person.wife.hobby[i]);
}

// 2.json的问题
// JSON.parse()   // 把字符串转化成为js对象
// JSON.stringify()  把js对象转化成为json字符串

// JSON.stringify()     数据加密   密文 => 传输
// 服务器拿到数据 => 解密  明文字符串  JSON.parse() => 对象 => 去操作
var wangfeng = {
    name: "汪峰",
    age: 58,
    wife: {
        name: "章子怡",
        age: 54,
        hobby: ["吃", "喝", "玩", "乐"]
    }
}

var s = JSON.stringify(wangfeng);
console.log("JSON字符串", s);
console.log("对象", wangfeng);

var s = '{"name":"汪峰","age":58,"wife":{"name":"章子怡","age":54,"hobby":["吃","喝","玩","乐"]}}';
var obj = JSON.parse(s);
console.log(obj);

// 方法：
var obj = {
    name: "alex",
    age: 18,
    chi: function () {
        //方法
        //this: 当前对象 相当于 python 的 self
        console.log(this.name, "哈哈哈");
    }
}

console.log(obj.name);
console.log(obj['name']);

obj.chi(); // 执行方法



